package com.movitech.mobile.cz.base.purchase.service;

import com.baomidou.mybatisplus.service.IService;
import com.movitech.mobile.cz.base.purchase.bizvo.CalibrationInfoReqVO;
import com.movitech.mobile.cz.base.purchase.entity.WFlowFormBackBid;
import com.movitech.mobile.cz.base.purchase.entity.ext.ExtWFlowFormBackBid;
import com.movitech.mobile.cz.base.purchase.entity.resultType.IdName;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 流程表单-供应商入围-回标 服务类
 * </p>
 *
 * @author Movitech Mobile
 * @since 2018-03-19
 */
public interface WFlowFormBackBidService extends IService<WFlowFormBackBid> {
    List<WFlowFormBackBid> getAwardBidForm(String formId);
    void deleteByformIdOrSupplierId(CalibrationInfoReqVO calibrationInfoReqVO);
    List<WFlowFormBackBid> getByFormId(String formId);
    List<ExtWFlowFormBackBid> getExtBackBidByFormId(String formId);
    List<ExtWFlowFormBackBid> getExtBackBidByMap(Map<String,Object> map);

    boolean updateTechnicalScoreByFormIdAndSupplierId(String formId,String suplierId,Double score ,boolean  qualified);
    boolean updateBackBidStatusByFormId(String formId,Integer status);
    boolean updateBySuppllierIdAndFormIdAndSn(WFlowFormBackBid wFlowFormBackBid);
    boolean setInvild(WFlowFormBackBid where);
    boolean grenerateDarkCodeByFormIdAndSupplierId(String darkCode,String formId,String supplierId);
    List<String> selectSupplieridsWithBackBid(String formId);

    List<String> selectSupplieridsByMap(Map<String,Object> param);
    List<String> selectSupplierSysIdsByMap(Map<String,Object> map);

    WFlowFormBackBid selectOneByFormIdAndSupplierIdAndSn(String fromId,String supplierid,Integer sn);
    List<WFlowFormBackBid> getByIds(List<String> ids);

    List<IdName> selectIdAndNameByMap(Map<String,Object> map);

    void updateAwardBidByFormId(String formId);
    Map<String,String> querySupplierIdAndDrakCode(String fromId);

}
